
package com.hlkj.pay.service.ad;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import com.hlkj.framework.common.pojo.PageResult;
import com.hlkj.pay.dto.ad.AdPayOrderDto;
import com.hlkj.pay.dto.ad.query.AdPayOrderQueryDto;
import com.hlkj.pay.infrastructure.model.ad.AdPayOrderDO;

/**
 * @author HlpayTeam
 * @date 2024/10/23 11:38
 */
public interface IAdPayOrderService {

    /**
     * 
     * @param adInfoQueryDO
     * @return
     */
    PageResult<AdPayOrderDto> queryPage(AdPayOrderQueryDto adInfoQueryDO);
    /**
     *
     * @param adInfoQueryDO
     * @return
     */
    Long queryCount(AdPayOrderQueryDto adInfoQueryDO);

    /**
     * 
     * @param mchOrderNo
     * @return
     */
    AdPayOrderDO queryDetailCache(String mchOrderNo);
    /**
     *
     * @param mchOrderNo
     * @return
     */
    AdPayOrderDO queryDetail(String mchOrderNo);
    /**
     *
     * @param insOrderNo
     * @return
     */
    AdPayOrderDO queryDetailByInsOrderNo(String insOrderNo);
    /**
     *
     * @param mchOrderNo
     * @param updatePayOrderDO
     */
    void updatePayOrder(String mchOrderNo, AdPayOrderDO updatePayOrderDO);
    /**
     *
     * @param mchOrderNo
     * @param updatePayOrderDO
     */
    int updatePayOrderStatus(String mchOrderNo, AdPayOrderDO updatePayOrderDO);
    /**
     *
     * @param payOrderDO
     */
    AdPayOrderDO addPayOrder(AdPayOrderDO payOrderDO);
    /**
     *
     * @param adId
     * @param callOrderCount
     * @param aOId
     */
	void updateCallOrder(Long adId, int callOrderCount, String aOId);
	void updateCallOrderAll(Long id, String aOId);

}
